FIIN07-09: 904130001 Herramientas y Lenguajes de Programación

Programa de doctorado Física e Informática
Bienio 07-09

Asignatura

Código 904130001
Nombre Herramientas y Lenguajes de Programación
Créditos 3,00
Tipo Metodológico
Profesorado
ProgramaDesarrollo de Aplicaciones Informáticas.Herramientas. Compiladores, Editores, Make.Lenguajes de alto nivel. Lenguajes de Guiones. Lenguajes de marcas.Aplicaciones: Técnicas Algorítmicas (Divide y Vencerás, Ramificación y Acotación, Programación Dinámica), Agentes Inteligentes.
ObjetivosEl principal objetivo de esta asignatura es dotar al alumno de las habilidades necesarias para la manipulación de herramientas informáticas que le permitan realizar una labor investigadora eficaz. En el desarrollo de un proyecto informático uno de los aspectos más importantes es la elección del lenguaje más apropiado para su implementación y las herramientas a utilizar. Existen múltiples herramientas informáticas y múltiples lenguajes de programación dependiendo del área de estudio. Una vez elegido el lenguaje, se ha de recabar información sobre las herramientas disponibles y realizar un estudio acerca de cuál se adapta mejor a las necesidades del proyecto a realizar. Así pues, es necesario iniciar al alumnado en el desarrollo sistemático y ordenado de aplicaciones informáticas integradas en proyectos de investigación. En este curso, se especifican de forma genérica las fases que componen el desarrollo e implementación de una aplicación informática y se formalizan las mismas con ejemplos concretos de realización.Los objetivos concretos del curso son: (1) Manejar los fundamentos básicos del sistema operativo UNIX (Linux). (2) Conocer las herramientas informáticas UNIX (Linux) fundamentales para el desarrollo de aplicaciones. (3) Comprender los principios básicos de la programación imperativa, oritentada a objetos, orientada a eventos y con agentes inteligentes. (4) Reconocer la importacia de la generación de documentación que acompaña a todo proyecto informático y conocer la importancia de los lenguajes de marcas en la elaboración de la misma. (5) Comprender como diseñar algoritmos eficientes utilizando técnicas algorítmicas.
Bibliografía
  • Almeida, F., et. al. "Introducción a las herramientas informáticas Unix para el desarrollo de la investigación". Secretariado de Publicaciones de la Universidad de La Laguna. ISBN: 84-7756-519-8
  • Brassard, G.,Bratley, P., "Algorithmics: Theory and Practice", Prentice Hall, NJ, 1988. ISBN: 013023169X
  • Ceballos F.J., "Programación Orientada a Objetos con C++". Editorial Ra-ma. 2ª Edición. 1997. ISBN: 84-7897-118-1
  • "Foundation for Intelligent Physical Agents (FIPA)" http://www.fipa.org/
  • García J. y otros., "Aprenda C++ como si estuviera en primero". Escuela Superior de Ingenieros Industriales. Universidad de Navarra. San Sebastián, Abril 1998. ftp://fcapra.ceit.es/AyudaInf/Index.htm
  • González J.R., León C., "Esqueletos Paralelos Distribuidos. Paradigmas de Ramificación y Acotación y Divide y Vencerás". DT-DEIOC-03-07. 2003.
  • Llanos Ferraris, D., "Curso de C bajo Unix". Secretariado de Publicaciones e Intercambio Científico. Universidad de Valladolid. ISBN: 84-7762-828-9
  • Oetiker T., Partl H., Hyna I., Schlegl E., "The Not So Short Introduction to LaTeX2e".GNU General Public License. ftp://ctan.tug.org/tex-archive/info/lshort/english/lshort.pdf
  • Rodríguez A., León C., "Esqueletos Paralelos Divide y Vencerás" DT-DEIOC-01-01. 2001.
  • Schildt H., "C++ Manual de Referencia". McGraw Hill. 1995. ISBN: 84-481-321-1
  • Stroustrup, B., "The C++ Programming Language". Adison-Wesley. 1997. ISBN: 0-201-88954-4
  • "The DARPA Agent Markup Language Homepage" http://www.daml.org/
  • W3C: http://www.w3.org/
MetodologíaLa estrategia de enseñanza utilizada es la exposición en clase de los contenidos teóricos y cada alumno realizará de forma individual cada una de las actividades prácticas que se propongan para cada tema. Cada sesión consta de un tiempo inicial de repaso de lo ya estudiado, a continuación se presentan los nuevos conceptos y se propone una actividad para afianzarlos. Las clases se desarrollan en un laboratorio con un PC por alumno. En cada máquina se encuentra disponible el software necesario para la realización de los ejercicios. El guión de la clase está disponible en formato HTML, de manera que cada alumno lo abre en una ventana de un navegador. Haciendo click sobre los enlaces a los ejemplos los tienen disponibles para su visualización y posterior procesamiento (compilación, ejecución, etc.). También se utiliza la pizarra y el cañón de proyección para exponer ejemplos alternativos.
EvaluaciónDurante el desarrollo de cada tema se evaluará la realización de los ejercicios prácticos y esto constituye el 80% de la nota de asignatura. El 20% restante, lo constituye un trabajo final que se asignará a cada alumno. El alumno realizará una propuesta de trabajo final que será tutorizada por uno de los profesores de la asignatura.
RequisitosConceptos básicos de programación.
ObservacionesEl horario de la asignatura se concentra en sesiones de tres horas. La primera hora y media dedicada a la exposición de los contenidos teóricos, y problemas. La segunda hora y media se dedica a la realización de las actividades prácticas relacionadas con los contenidos estudiados.
Página Webhttp://nereida.deioc.ull.es/~cleon/doctorado/doc06/index.html
Horario Clases:
  1. Martes 13/ 11/ 2007 de 16:30 a 20:30 (Colisiona con: Técnicas Algorítmicas y Optimización)
  2. Jueves 15/ 11/ 2007 de 16:30 a 20:30 (Colisiona con: Técnicas Algorítmicas y Optimización)
  3. Martes 20/ 11/ 2007 de 16:30 a 20:30 (Colisiona con: Automática, Técnicas Algorítmicas y Optimización)
  4. Jueves 22/ 11/ 2007 de 17:00 a 20:00 (Colisiona con: Simulación, Técnicas Algorítmicas y Optimización)
  5. Martes 27/ 11/ 2007 de 16:00 a 18:30 (Colisiona con: Fisica Estadística Avanzada, Simulación)
  6. Miércoles 28/ 11/ 2007 de 16:00 a 18:30 (Colisiona con: Fisica Estadística Avanzada, Simulación, Técnicas Algorítmicas y Optimización)
  7. Lunes 28/ 01/ 2008 de 17:00 a 20:00 (Colisiona con: Procesado de Imagen y Aplicaciones 3D)
  8. Martes 29/ 01/ 2008 de 16:00 a 20:00 (Colisiona con: Acústica)
  9. Miércoles 06/ 02/ 2008 de 17:00 a 20:00 (Colisiona con: Criptología y Seguridad Informática, Metaheurísticas, Obtención y caracterizacion de nuevos materiales sol gel. Relación estructura-propiedades físicas, Procesado de Imagen y Aplicaciones 3D)